/*
  中断控制LED 示例
*/

#define KEY_FLASH 0
volatile int state = LOW; // 注意定义类型为实时更新的

void setup(){
  Serial.begin(115200);
  
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(KEY_FLASH, INPUT);
  digitalWrite(LED_BUILTIN, LOW); //初始LED灯置为低电平，表示点亮

  attachInterrupt(KEY_FLASH, stateChange, CHANGE);  // 监视中断输入按键的变化，此函数为中断函数入口句柄
}


void stateChange(){  //中断函数
  state = !state;  //LED灯状态翻转，实现发生外部按键事件时对LED灯状态的改变
  digitalWrite(LED_BUILTIN, state);
  Serial.print("Interrupt state:");
  Serial.print(state);
  Serial.println();
}

void loop(){
}
